package model;

import java.io.Serializable;

import javax.persistence.*;

import java.util.List;


/**
 * The persistent class for the CLIENTE database table.
 * 
 */
@Entity
@NamedQuery(name="Cliente.findAll", query="SELECT c FROM Cliente c")
public class Cliente implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name="CLI_CEDULA")
	private String cliCedula;

	@Column(name="CLI_DIRECCION")
	private String cliDireccion;

	@Column(name="CLI_NOMBRE")
	private String cliNombre;

	@Column(name="CLI_TELEFONO")
	private String cliTelefono;

	@Column(name="CLI_MAIL")
	private String cliMail;
	
	@Column(name="USR_ULTIMA_MODIFICACION")
	private String usrUltimaModificacion;

	//bi-directional many-to-one association to UsuarioOnline
	@ManyToOne
	@JoinColumn(name="USR_LOGIN")
	private UsuarioOnline usuarioOnline;

	//bi-directional many-to-one association to Cuenta
	@OneToMany(mappedBy="cliente")
	private List<Cuenta> cuentas;

	public Cliente() {
	}

	public String getCliCedula() {
		return this.cliCedula;
	}

	public void setCliCedula(String cliCedula) {
		this.cliCedula = cliCedula;
	}

	public String getCliDireccion() {
		return this.cliDireccion;
	}

	public void setCliDireccion(String cliDireccion) {
		this.cliDireccion = cliDireccion;
	}

	public String getCliNombre() {
		return this.cliNombre;
	}

	public void setCliNombre(String cliNombre) {
		this.cliNombre = cliNombre;
	}

	public String getCliTelefono() {
		return this.cliTelefono;
	}

	public void setCliTelefono(String cliTelefono) {
		this.cliTelefono = cliTelefono;
	}

	public String getUsrUltimaModificacion() {
		return this.usrUltimaModificacion;
	}

	public void setUsrUltimaModificacion(String usrUltimaModificacion) {
		this.usrUltimaModificacion = usrUltimaModificacion;
	}

	public UsuarioOnline getUsuarioOnline() {
		return this.usuarioOnline;
	}

	public void setUsuarioOnline(UsuarioOnline usuarioOnline) {
		this.usuarioOnline = usuarioOnline;
	}

	public List<Cuenta> getCuentas() {
		return this.cuentas;
	}

	public void setCuentas(List<Cuenta> cuentas) {
		this.cuentas = cuentas;
	}

	public Cuenta addCuenta(Cuenta cuenta) {
		getCuentas().add(cuenta);
		cuenta.setCliente(this);

		return cuenta;
	}

	public Cuenta removeCuenta(Cuenta cuenta) {
		getCuentas().remove(cuenta);
		cuenta.setCliente(null);

		return cuenta;
	}

	public String getCliMail() {
		return cliMail;
	}

	public void setCliMail(String cliMail) {
		this.cliMail = cliMail;
	}

}